package com.azt.provider.mapper;

import com.azt.api.dto.CentralizeProviderDetailDto;
import com.azt.api.dto.CentralizeProviderReportDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by zouheyuan on 2017/5/2.
 */
public interface ProjectMapper {

    /**
     * 当前询价总数
     * @return
     */
    public int getAllEnquiry();

    /**
     * 报价总数
     * @return
     */
    public int getAllQuote();

    /**
     * 询价采购商数
     * @return
     */
    public int getEnquiryPurNums();

    /**
     * 报价供应商数
     * @return
     */
    public int getQuoteProNums();

    /**
     * 采纳报价数
     * @return
     */
    public int getAcceptQuoteNums();

    /**
     * 进行中的询价单
     * @return
     */
    public int getEnquiryingNums();
    /**
     * 每月询价数量、报价数量
     * @param startDate
     * @param endDate
     * @return
     */
    List<Map<String, Object>> getProjectsByMonth(@Param("startDate") String startDate , @Param("endDate") String endDate);

    /**
     *
     * 每月采纳的报价数量
     * @param startDate
     * @param endDate
     * @return
     */
    List<Map<String, Object>> getAcceptNums(@Param("startDate") String startDate , @Param("endDate") String endDate);

    /**
     * 发布报价的供应商前10
     * @return
     */
    List<Map<String, Object>> getQuoteCompanyTop10();

    /**
     * 各品类报价次数
     * @return
     */
    List<Map<String, Object>> getQuoteNumByCategory();

    /**
     * 询价列表页面
     * @param params
     * @return
     */
    List<Map<String, Object>> getEnquiryList(Map params);

    /**
     * 报价列表页面
     * @param params
     * @return
     */
    List<Map<String, Object>> getQuoteList(Map params);


    /**
     * 报价排行列表
     * @param params
     * @return
     */
    List<Map<String, Object>> getQuoteCompany(Map params);


    /**
     * 询价金额
     * @return
     */
    List<Map<String, Object>> getEnquiryPriceByMonth();


    /**
     * 询价浏览详情
     * @param params
     * @return
     */
    List<Map<String, Object>> selectEnquiryVisit(Map params);


    List<CentralizeProviderReportDto> selectCenProReport();

    List<CentralizeProviderDetailDto> selectQuoteDeailByCompanyId(@Param("companyId") Integer companyId);


    List<Map<String, Object>> selectStdCategoryPie(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("source") Integer source);
    List<Map<String, Object>> selectStdAreaPie(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("source") Integer source);



}
